package com.simple.datax.flow.message;

import java.util.ArrayList;
import java.util.List;

/** 
 * @Title: EcFlowRespMessageBody.java 
 * @Package com.simple.datax.flow.model 
 * @Description: TODO(流程报文响应体) 
 * @author tonney 
 * @date 2013-1-9 下午02:53:24 
 * @version V1.0 
 */
public class EcFlowRespMessageBody implements Cloneable{
	private ECFlowResponseHead ecFlowResponseHead = null;

	private List<ResponseActionResult> actionResultList = null;

	public ECFlowResponseHead getEcFlowResponseHead() {
		return ecFlowResponseHead;
	}

	public void setEcFlowResponseHead(ECFlowResponseHead ecFlowResponseHead) {
		this.ecFlowResponseHead = ecFlowResponseHead;
	}

	public List<ResponseActionResult> getActionResultList() {
		if(actionResultList==null){
			actionResultList = new ArrayList<ResponseActionResult>();
		}
		return actionResultList;
	}

	public void setActionResultList(List<ResponseActionResult> actionResultList) {
		this.actionResultList = actionResultList;
	}
	
	public EcFlowRespMessageBody clone() {
		EcFlowRespMessageBody obj = null;
		try {
			obj = (EcFlowRespMessageBody) super.clone();
			if(ecFlowResponseHead!=null){
				ecFlowResponseHead = this.ecFlowResponseHead.clone();
			}
			if(actionResultList!=null){
				List<ResponseActionResult> actionResultList2 = new ArrayList<ResponseActionResult>();
				for(ResponseActionResult actionResult:actionResultList){
					actionResult = actionResult.clone();
					actionResultList2.add(actionResult);
				}
				actionResultList = actionResultList2;
			}
		} catch (CloneNotSupportedException e) {
			e.printStackTrace();
		}
		return obj;
	}

	public class ECFlowResponseHead implements Cloneable{
		protected String messageId = "";
		protected String requestMessageId = "";
		protected String bpNo = "";
		protected String taskId = "";
		protected String corpTaskId = "";
		protected String resultCode = "";
		protected String resultValue = "";
		
		public ECFlowResponseHead clone() {
			ECFlowResponseHead obj = null;
			try {
				obj = (ECFlowResponseHead) super.clone();
			} catch (CloneNotSupportedException e) {
				e.printStackTrace();
			}
			return obj;
		}
		
		public String getMessageId() {
			return messageId;
		}
		public void setMessageId(String messageId) {
			this.messageId = messageId;
		}
		public String getRequestMessageId() {
			return requestMessageId;
		}
		public void setRequestMessageId(String requestMessageId) {
			this.requestMessageId = requestMessageId;
		}
		public String getBpNo() {
			return bpNo;
		}
		public void setBpNo(String bpNo) {
			this.bpNo = bpNo;
		}
		public String getTaskId() {
			return taskId;
		}
		public void setTaskId(String taskId) {
			this.taskId = taskId;
		}
		public String getCorpTaskId() {
			return corpTaskId;
		}
		public void setCorpTaskId(String corpTaskId) {
			this.corpTaskId = corpTaskId;
		}
		public String getResultCode() {
			return resultCode;
		}
		public void setResultCode(String resultCode) {
			this.resultCode = resultCode;
		}
		public String getResultValue() {
			return resultValue;
		}
		public void setResultValue(String resultValue) {
			this.resultValue = resultValue;
		}	
		
	}
	
	public class ResponseActionResult implements Cloneable{
		protected String actionId = "";
		protected String resultCode = "";
		protected String resultValue = "";
		
		public ResponseActionResult clone() {
			ResponseActionResult obj = null;
			try {
				obj = (ResponseActionResult) super.clone();
			} catch (CloneNotSupportedException e) {
				e.printStackTrace();
			}
			return obj;
		}
		
		public String getActionId() {
			return actionId;
		}
		public void setActionId(String actionId) {
			this.actionId = actionId;
		}
		public String getResultCode() {
			return resultCode;
		}
		public void setResultCode(String resultCode) {
			this.resultCode = resultCode;
		}
		public String getResultValue() {
			return resultValue;
		}
		public void setResultValue(String resultValue) {
			this.resultValue = resultValue;
		}		
	}
}
